0 :PRINT"[147]TIPS UND TECHNIK: GROSSE-ZEICHEN 1 :[153]"BASIC-DEMO-SCHAU: VON DIRK BREITINGER 10 FORI=.TO5000:NEXT:GOTO1000 11 : 20 :A$="0:GROSSE-ZEICHEN":OPEN1,8,15,"S"+A$:CLOSE1:SAVEA$,8:RETURN 21 : 22 : 29 : 50 :REM---LADE ZEICHEN 51 A=ASC(MID$(A$,J)):IF(AAND96)=.THEN:PRINTCHR$(A);:R=FNRV(R):B=-1:RETURN 52 B=ZS+FNAS(A)*8+1024*SGN(R):C=PEEK(1):POKE56334,.:POKE1,51 53 FORI=.TO7:A(I)=PEEK(B+I):NEXT:POKE1,C:POKE56334,1:RETURN 54 : 59 : 60 :POKE646,1:B=PEEK(53280):POKE198,.:REM--WARTEN 61 ::A=(A+1)AND15:POKE53280,A:GETA$:ON-(A$="")GOTO61:POKE53280,B:RETURN 62 :POKE214,P:POKE211,(P-INT(P))*101:SYS58640:RETURN 65 :POKE53280,A:POKE53281,A:RETURN 97 : 98 : 99 : 400 F=129:E=144:REM--AUSSCHNITT(A$,E,F) 401 :A$(.)="[146].":A$(1)=" " 402 :ZS=53248+2048 405 A$(2)="":A$(3)="":P1=POS(.):P2=PEEK(214) 410 :R=.:FORJ=1TOLEN(A$):POKE214,P2:SYS58640:GOSUB412:NEXT:RETURN 412 :GOSUB51:IFB<1THEN:RETURN: 414 :D$=B$:FORI=.TO7:B=A(I):IFFAND2^IGOTO419 415 :PRINTTAB(P1)A$(SGN(BAND128)+(EAND128)/64)A$(SGN(BAND64)+(EAND64)/32); 416 :PRINTA$(SGN(BAND32)+(EAND32)/16)A$(SGN(BAND16)+(EAND16)/8); 417 :PRINTA$(SGN(BAND8)+(EAND8)/4)A$(SGN(BAND4)+(EAND4)/2); 418 :PRINTA$(SGN(BAND2)+(EAND2))A$((BAND1)+2*(EAND1));:P3=POS(.):PRINT 419 :NEXT:P1=P3:RETURN 498 : 499 : 500 :REM---ZEICHEN-AUSGABE 8X8(A$) 501 :A$(.)="[146] ":A$(1)=" " 502 :B$="[157][157][157][157][157][157][157][157]":C$="[145][145][145][145][145][145][145]" 505 :ZS=53248+2048 510 :R=.:T=TI:FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB514:NEXT:RETURN 514 D$=B$:FORI=.TO7:B=A(I):IFI=7THEN:D$=C$ 515 PRINTA$(SGN(BAND128))A$(SGN(BAND64))A$(SGN(BAND32))A$(SGN(BAND16)); 516 :PRINTA$(SGN(BAND8))A$(SGN(BAND4))A$(SGN(BAND2))A$(BAND1)D$;:NEXT:RETURN 517 : 518 : 519 : 520 :REM---VON LINKS NACH RECHTS 521 FORD=7TO.STEP-1:E=2^D:FORI=.TO7:PRINTA$(SGN(A(I)ANDE))"[157]";:NEXT:GOTO527 522 FORD=7TO.STEP-1:E=2^D:PRINTA$(SGN(A(.)ANDE))"[157]"A$(SGN(A(1)ANDE))"[157]"; 523 PRINTA$(SGN(A(2)ANDE))"[157]"A$(SGN(A(3)ANDE))"[157]"A$(SGN(A(4)ANDE))"[157]"; 524 PRINTA$(SGN(A(5)ANDE))"[157]"A$(SGN(A(6)ANDE))"[157]"A$(SGN(A(7)ANDE))"[157]"; 527 :PRINT"[145][145][145][145][145][145][145][145]";:NEXT:RETURN 528 : 529 : 540 :REM---MC-AUSGABE 4X8(A$) 541 :A$(.)="[146][155]..":A$(1)=" ":A$(2)="[152] ":A$(3)="[155] ":B$="" 542 :ZS=53248+2048 545 :P1=POS(.):P2=PEEK(214) 550 :R=.:FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB554:NEXT:RETURN 554 POKE214,P2:POKE211,P1:SYS58640:FORI=.TO7:B=A(I):IFEAND2^IGOTO557 555 PRINTA$((BAND192)/64)A$((BAND48)/16)A$((BAND12)/4)A$(BAND3); 556 :P3=POS(.):PRINT"[157]";:POKE211,P1:PRINTB$; 557 :NEXT:P1=P3:RETURN 558 : 559 : 560 :A$(.)="[152][146][166][166][157][157][166][166][145]":A$(2)="[159][169][153][223][157][157][146][223][159][169][145]" 561 :A$(1)="[129][207][208][157][157][204][186][145]":A$(3)="[150][175][186][157][157][186][175][145]":B$="" 562 :E=.:ZS=53248:GOTO545 569 : 599 : 600 :REM---ZEICHEN-AUSGABE 4X8(A$) 602 :A$(.)="[146] ":A$(1)="[161]":A$(2)="[146][161]":A$(3)=" ":B$="[157][157][157][157]":C$="[145][145][145][145][145][145][145]": 605 :ZS=53248+2048*1:R=. 610 :FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB614:NEXT:RETURN 614 :D$=B$:FORI=.TO7:B=A(I):IFI=7THEN:D$=C$ 615 :PRINTA$((BAND192)/64)A$((BAND48)/16)A$((BAND12)/4)A$(BAND3)D$;:NEXT:RETURN 618 : 619 : 695 : 696 : 697 : 698 : 699 : 700 :REM---SPIELFELD AUSGEBEN 702 :A$= "CCCCCCCCCCCCCCCCCCCC" 703 :A$=A$+"C C 5C" 704 :A$=A$+"C11CCC CCCCCCCCCCC C" 705 :A$=A$+"C111 C C C C" 706 :A$=A$+"C 11 C C CCCCCCC C C" 707 :A$=A$+"C1 B C C C" 708 :A$=A$+"CCCCCCCC CCCCC C C C" 709 :A$=A$+"C111 C 11 C C C C" 710 :A$=A$+"C 11C CCCC111C B C" 711 :A$=A$+"CBCCC C1CCCCC CCC C" 712 :A$=A$+"C C1C" 713 :A$=A$+"CCCCCCCCCCCCCCCCCCCC" 719 : 720 :A$(.)="[152][146][166][166][157][157][166][166][145]":A$(1)="[159][169][153][223][157][157][146][223][159][169][145]" 722 :A$(2)="[129][207][208][157][157][204][186][145]":A$(3)="[150][175][186][157][157][186][175][145]":B$="" 723 :A$(4)="[158]..[157][157]><[145]":A$(5)="[215][215][157][157][188][190][145]" 730 :PRINT"[156][147][142]";:I=1 731 :FORI=ITOI+19:PRINTA$(ASC(MID$(A$,I)+" ")AND15);:NEXT:PRINTB$; 732 :ON-(I<239)GOTO731:I=. 735 :A$=" FELD-SPIEL ":PRINTA$A$A$"" 736 :P=2.12:P1=P:GOSUB62:PRINTA$(4);:M=20:P2=2.36 739 :DEFFNC(A)=PEEK(PEEK(209)+PEEK(210)*256+POS(.)+A):POKE649,1 740 :GETA$:A=ASC(A$+" ") 741 P=P1:GOSUB62:B=FNC((A=29)*-2+2*(A=157)-80*(A=17)+80*(A=145)):C=. 745 IFB=239ORB=174THEN:A$="":C=4:REM:WAND,NIX 750 :PRINTA$(C)"[157][157]"A$A$A$(4)"[157][157]";:P1=PEEK(214)+POS(.)/100 751 REMIFNOT(B=102)THEN:PRINT""B: 752 :M=M+(B=233):IFM>.GOTO769 760 P=10.10:GOSUB62:A$="[153][197]NDE":GOSUB800:GOTO60:ENDE 769 I=(I+1)*-(I<3):IFI>.GOTO740 770 :P=P2:GOSUB62:C=102:ONDGOTO773,774,775 771 : 772 :IFFNC(2)=CTHEN:A$="":B=.:D=0:GOTO777 773 :IFFNC(80)=CTHEN:A$="":B=.:D=0:GOTO777 774 :IFFNC(-2)=CTHEN:A$="[157]":B=.:D=2:GOTO777 775 :IFFNC(-80)=CTHEN:A$="[145]":B=.:D=2:GOTO777 776 :D=1+(E=5):B=5:E=B:A$="" 777 :PRINTA$(B)"[157][157]"A$A$A$(5)"[157][157]";:P2=PEEK(214)+POS(.)/100:GOTO740 780 :A$(6)="[146][209][209][157][157][209] [145]":A$(7)="[159][213][201][157][157][154][203][202][145]":B$="" 781 :A$(8)="[129][146][223] [157][157][146] [223][145]":A$(9)="[154][213][201][157][157][203][202][145]":B$="" 782 : 783 :A$(4)="[158]..[157][157]><[145][157][157]":END 790 : 797 : 798 : 799 : 800 :REM----ZEICHEN-AUSGABE(4X4) 801 :B$="[157][157][157][157]":C$="[145][145][145]":ZS=55296 802 :A$(.)="[146] ":A$(2)="[146][190]":A$(1)="[146][188]":A$(3)="[162]":A$(8)="[146][187]":A$(10)="[146][161]" 803 :A$(9)="[191]":A$(11)="[172]":A$(4)="[146][172]":A$(6)="[146][191]":A$(5)="[161]":A$(7)="[187]" 804 :A$(12)="[146][162]":A$(14)="[188]":A$(13)="[190]":A$(15)=" ":IFA$=""THEN:RETURN 810 :R=.:FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB812:NEXT:RETURN: 812 :D$=B$:FORI=.TO7STEP2:A=A(I):B=A(I+1):IFI=6THEN:D$=C$ 813 :PRINTA$((A/64AND3)+(B/16AND12))A$((AAND48)/16+(BAND48)/4); 814 :PRINTA$((BAND12)+(A/4AND3))A$((AAND3)+(BAND3)*4)D$;:NEXT:RETURN 815 : 816 : 817 : 818 : 819 : 820 :REM--- ZEICHEN AUSGABE(4X4) 824 :GOSUB51:D$=B$:FORI=.TO7STEP2:A=A(I):B=A(I+1):IFI=6THEN:D$=C$ 825 :PRINTA$(SGN(AAND128)*2+SGN(AAND64)+SGN(BAND128)*8+SGN(BAND64)*4); 826 :PRINTA$(SGN(AAND32)*2+SGN(AAND16)+SGN(BAND32)*8+SGN(BAND16)*4); 827 :PRINTA$(SGN(AAND8)*2+SGN(AAND4)+SGN(BAND8)*8+SGN(BAND4)*4); 828 :PRINTA$(SGN(AAND2)*2+SGN(AAND1)+(BAND2)*4+(BAND1)*4)D$;:NEXT 829 :RETURN 830 :B$="[157][157][157]":C$="[145][145][145]":ZS=55296 831 :R=.:FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB832:NEXT:RETURN: 832 :D$=B$:FORI=.TO7STEP2:A=A(I):B=A(I+1):IFI=6THEN:D$=C$ 833 :PRINTA$((AAND96)/32+(BAND96)/8)A$((AAND24)/8+(BAND24)/2); 834 :PRINTA$((AAND6)/2+(BAND6)*2)D$;:NEXT:RETURN 835 : 839 : 840 :B$="[157][157]":C$="[145][145][145]":ZS=55296 841 :R=.:FORJ=1TOLEN(A$):GOSUB51:ON-(B>-1)GOSUB842:NEXT:RETURN: 842 :D$=B$:FORI=.TO7STEP2:A=A(I):B=A(I+1):IFI=6THEN:D$=C$ 843 PRINTA$((AAND48)/16+(BAND48)/4)A$((AAND4)/2+(AAND1)+(BAND4)*2+(BAND1)*4)D$; 844 :NEXT:RETURN 845 : 849 : 850 :A$="":GOSUB800:REM---SCHNELL 851 :FORA=32TO128:GOSUB52:GOSUB852:PRINT""A$:Z$(A)=A$:NEXT:RETURN 852 A$="":D$=B$:FORI=.TO7STEP2:C=A(I):B=A(I+1):IFI=6THEN:D$=C$ 853 :A$=A$+A$((C/64AND3)+(B/16AND12))+A$((CAND48)/16+(BAND48)/4) 854 :A$=A$+A$((BAND12)+(C/4AND3))+A$((CAND3)+(BAND3)*4)+D$:NEXT:RETURN 855 :PRINT"[147]":INPUTA$ 856 :FORI=1TOLEN(A$):J=ASC(MID$(A$,I,1)):PRINTZ$(J+96*(J>128));:NEXT: 857 :PRINT"":RETURN 858 :END 859 : 900 :REM----LAUFSCHRIFT4X4(A$) 901 :B$="[145][145][145][145]":C$="[145][145][145]":ZS=55296 902 :A$(.)="[146] ":A$(2)="[146][190]":A$(1)="[146][188]":A$(3)="[162]":A$(8)="[146][187]":A$(10)="[146][161]" 903 :A$(9)="[191]":A$(11)="[172]":A$(4)="[146][172]":A$(6)="[146][191]":A$(5)="[161]":A$(7)="[187]" 904 :A$(12)="[146][162]":A$(14)="[188]":A$(13)="[190]":A$(15)=" ":IFA$=""THEN:RETURN 905 :DEFFNA(I)=(A(I)ANDB)/D+(A(I+1)ANDB)*C 910 :R=.:FORJ=1TOLEN(A$):GOSUB51:ON-(A<5ORB>-1)GOSUB912:NEXT:RETURN 912 :IFA<5THEN:FORA=-ATO-1:PRINTD$;:I=80:GOSUB916:NEXT:GOTO916 913 :D=64:B$="":FORI=.TO3:B=D*3:C=4/D 914 :B$=B$+D$+A$(FNA(.))+"[157]"+A$(FNA(2))+"[157]"+A$(FNA(4))+"[157]"+A$(FNA(6))+"[157][145][145][145]" 915 :D=D/4:NEXT:PRINTB$;:I=(JAND7)*15 916 :FORI=-I-FNR(I)TO.:NEXT:RETURN 919 : 920 :D$="[146][145][146] [157] [157] [157] [145][145][145]"+CHR$(20)+"[157]" 921 ::PRINT"[147]";:POKE214,P:PRINT"[145]";:POKE213,199:PRINT"[157]";:RETURN 929 : 930 :REM----DEMO 932 :P=2:GOSUB920 933 :A$="[200]ALLO, WIE GEHT ES SO ???, WENN MAN FRAGEN DARF. ":GOSUB900 934 :P=10:GOSUB921:A$="[146][215][153]AR DAS [211][146][153]PIEL[146] GUT ??? ":GOSUB900 935 A$="[215][146]IE FANDET IHR DIES [194]ASIC[146] [159][214]ERSUCHSPROGRAMM[146] ??? ":GOSUB900 936 :P=18:GOSUB921:A$="[206][146]A DANN GEHT ES ZURUECK ZUM [193][146]NFANG. ":GOSUB900 937 :POKE214,24:PRINTR$"";:RETURN 993 : 994 : 995 : 996 : 997 : 998 : 999 : 1000 :REM============================== 1001 :REM HAUPTPROGRAMM 1002 :REM============================== 1003 :GOSUB1030:GOTO1100 1030 :DEFFN AS(A)=A+64*((A>63)+(A>191))-(A>95ANDA<128)*32+(A=255)*33 1031 :DEFFN RV(R)=(ROR-(A=18))*-(A<>146) 1032 :DEFFN R(A)=INT(RND(0)*A+1) 1040 :DIMA$(16),Z$(128):R$=CHR$(13):ZS=55296 1090 :RETURN 1098 : 1099 : 1100 :A=4:GOSUB65 1102 :PRINT"[156][147][142]"; 1199 : 1200 :REM---8X8 1201 :A$(.)="[166]":A$(1)="[158][164]":B$="[157][146] [157][157][157][157][157][157][157][157]":C$="[157][146] [145][145][145][145][145][145][145]":F=.:E=1 1202 :A$="[200]ALLO":GOSUB505: 1209 : 1210 :REM---4X8 1211 :POKE214,10:PRINT:PRINT"";:A$="[195][159]64[146][198][159][193][206][211]":GOSUB602 1219 : 1230 :REM---4X4 1231 :B$="[157] [157][157][157][157]":C$="[157] [157][145][145][145]" 1232 :POKE214,20:PRINT:A$="[154][196]RUECK[212]ASTE":GOSUB802 1233 :GOSUB60:IFA$="_"GOTO1200 1234 :PRINT"[153]":A$="[200]ALLO AN ALLE":GOSUB830:GOSUB60: 1235 :PRINT"":A$="[200]ALLO AN ALLE ANDERN":GOSUB840:GOSUB60: 1239 : 1299 : 1300 :REM---16X8 1301 :A$(.)="[154][166][166]":A$(1)="[158][175][186]":B$="[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]":C$=B$ 1302 :PRINT"[156][147]"TAB(12);:A$="[200]ALLO":GOSUB505 1320 :REM---16X16 1321 :A$(.)="[152]::[157][157]::[145]":A$(1)="[155] [157][157] [145]":B$="[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]":C$=B$ 1322 :PRINT"[156]"TAB(12);:A$="[200]ALLO":GOSUB505 1330 : 1400 :REM---24X16 1401 :A$(.)="[150][166][166][166][157][157][157][166][166][166][145]": 1402 :A$(1)="[158] [157][157][157][164][164][164][145]": 1405 :B$="":C$=B$ 1406 :PRINTR$R$""TAB(8);:A$="[200]ALLO":GOSUB505 1409 : 1410 :REM---24X24 1411 :A$(.)="[150][166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][145][145]": 1412 :A$(1)="[158] [157][157][157] [157][157][157][164][164][164][145][145]": 1415 :B$="":C$=B$ 1416 :PRINTR$R$""TAB(8);:A$="[200]ALLO":GOSUB505 1430 : 1500 :REM---32X24 1501 :A$(.)="[154][186][186][186][186][157][157][157][157][186][186][186][186][157][157][157][157][186][186][186][186][145][145]": 1502 :A$(1)="[153][166][168][168][166][157][157][157][157][166][166][166][166][157][157][157][157][166][166][166][166][145][145]": 1505 :B$="":C$=B$ 1506 :PRINTR$R$""TAB(4);:A$="[200]ALLO":GOSUB505 1509 : 1510 :REM---32X32 1511 :A$(.)="[154][166][166][166][166][157][157][157][157][166][166][166][166][157][157][157][157][166][166][166][166][157][157][157][157][166][166][166][166][145][145][145]": 1512 :A$(1)="[159] [157][157][157][157] [157][157][157][157] [157][157][157][157] [145][145][145]": 1515 :B$="":C$=B$ 1516 :PRINTR$R$""TAB(4);:A$="[200]ALLO":GOSUB505:GOSUB60 1519 : 1530 :GOSUB1600:GOTO1700 1598 : 1599 : 1600 :REM---RUNTERZAEHLER 1601 :A$(.)="[151][166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][145][145]": 1602 :A$(1)=" [157][157][157] [157][157][157] [145][145]": 1603 :B$="":C$="" 1604 :E$="987654321[207]" 1605 PRINT"[147]";:FORE=1TOLEN(E$):A$=MID$(E$,E,1):PRINT""TAB(8) 1606 POKE53265,11:GOSUB505:POKE53281,.:POKE53280,.:POKE53265,27 1607 FORI=.TO1100:NEXT:NEXT:GOTO60 1608 : 1609 : 1700 :POKE53280,11:POKE53281,4:GOSUB700,SPIEL 1799 : 1800 :PRINT"[147]";:GOSUB930,LAUFSCHRIFT:GOSUB60 1900 PRINT"[147][158]":GOSUB850:REM--SCHNELLSCHRIFT(4X4) 1910 :A$="[200]ALLO":GOSUB856 1911 :A$="WIE GEHT'S":GOSUB856:PRINT"" 1912 :A$="[197]UCH ???":GOSUB856 1915 :GOSUB60 1920 :PRINT"[147][159]" 1921 :A$="[206]UN GEHT'S":GOSUB856 1922 :A$="WIRKLICH":GOSUB856:PRINT"" 1923 :A$="ZUM [193]NFANG":GOSUB856 1925 :GOSUB60 1930 : 1940 : 1950 : 3000 :RUN